ffmpeg 下载网上m3u8的视频文件 您所在的位置:网站首页 ffmpeg 多线程下载m3u8 ffmpeg 下载网上m3u8的视频文件

ffmpeg 下载网上m3u8的视频文件

2023-08-16 07:02| 来源: 网络整理| 查看: 265

一、关于 FFmpeg

FFmpeg 是一个音视频领域使用最广泛的跨平台开源库。由C语言编写,但广泛的为 C/C++、C#、Java、Python 等主流编程语言所调用。它集合了几乎所有的编码解码库与流协议,几乎能完美处理音视频开发领域的所有需求。

二、Mac 平台安装 FFmpeg

方式一:源码安装 FFmpeg

通过编译源码安装 FFmpeg 的优点是可以把我们想要的东西都塞到FFmpeg中,不想要的就删掉,也就是根据自己的需要对FFmpeg进行裁剪。首先我们编希望达到的目标: (1)编译出 ffmpeg、ffplay、ffprobe 三个命令行程序; (2)只产生动态库,不产生静态库; (3)将 fdk-aac、x264、x265集成到 FFmpeg 中(fdk-aac 会在后续 AAC 编解码时用到,x264、x265会在视频模块中用到);

1.1、安装依赖项:

a、安装 yasm

#下载 yasm 1.2.0 $ curl http://www.tortall.net/projects/yasm/releases/yasm-1.2.0.tar.gz >yasm.tar.gz # 解压 $ tar xzvf yasm.tar.gz # 进入目录 yasm-1.2.0 $ cd yasm-1.2.0 # 执行配置 $ ./configure # 编译 $ make # 安装 $ sudo make install

b、安装 sdl2(如果不需要安装 ffplay 可以忽略这一步):

$ brew install sdl2

c、安装 fdk-aac

brew install fdk-aac

d、安装 x264

brew install x264

e、安装 x265

brew install x265 可通过 brew list命令查看是否安装过 fdk-aac、x264、x265;

1.2、编译 FFmpeg 源码

a、下载 FFmpeg 源码(xz、bzip 和 gzip 三种选项仅仅是压缩格式不同,内容是相同的):

官网下载地址:https://ffmpeg.org/download.html

b、下载完成解压 FFmpeg ,打开终端进入 FFmpeg 源码文件夹:

$ cd /Users/mac/Downloads/ffmpeg-4.3.2

c、执行源码目录下的 configure 脚本:

$ ./configure --prefix=/usr/local/ffmpeg --enable-shared --disable-static --enable-gpl --enable-nonfree --enable-libfdk-aac --enable-libx264 --enable-libx265 --prefix 指定编译好的 FFmpeg 安装路径 --enable-shared 生成动态库 --disable-static 不生成静态库 --enable-libfdk-aac 将 fdk-aac 内置到 FFmpeg --enable-libx264 将 x264 内置到 FFmpeg 中 --enable-libx265 将 x265 内置到 FFmpeg 中 --enable-gpl x264、x265要求开启 GPL License --enable-nonfree fdk-aac 与 GPL 不兼容,需要通过开启 nonfree 进行配置 参考:https://github.com/FFmpeg/FFmpeg/blob/master/LICENSE.md ./configure —help | grep XXX 通过命令查看每个配置项的作用

d、编译:

$ make -j 8 && sudo make install

e、为了让bin目录中的 ffmpeg、ffprobe、ffplay 在任意位置都能够使用,需要先将 bin 目录配置到环境变量 PATH 中

# 打开环境变量 $ vim ~/.bash_profile # 输入 i 进入编辑模式,配置 ffmpeg 环境变量,然后按 ESC,输入 :wq 退出编辑模式 export PATH=/usr/local/ffmpeg/bin:$PATH # 执行 source 命令,是配置的环境变量生效 $ source ~/.bash_profile

如果你用的是zsh,而不是bash,只需要将上面的 .bash_profile 换成 .zprofile 。 f、检查是否安装成功:

$ ffmpeg -version

如果控制台打印以下内容说明安装成功:

ffmpeg version 4.3.2 Copyright (c) 2000-2021 the FFmpeg developers built with Apple clang version 11.0.3 (clang-1103.0.32.62)

g、安装成功后目录结构:

$ tree . |____bin # 应用程序,可在终端中使用 | |____ffmpeg # 用于转码的应用程序 [文档](http://ffmpeg.org/ffmpeg.html) | |____ffplay # 用于播放的应用程序 [文档](http://ffmpeg.org/ffplay.html) | |____ffprobe # 用于查看文件格式的应用程序 [文档](http://ffmpeg.org/ffprobe.html) |____include # 头文件 | |____libavcodec # 编解码库,用于音频/视频编解码 | |____libavformat # 封装格式处理,包含多媒体容器格式复用器和解复用器的库 | |____libavfilter # 滤镜特效处理 | |____libavdevice # 包含输入输出设备的库 | |____libavutil # 包含简化编程功能的工具库(大部分库都需要这个库的支持) | |____libswresample # 音频采样数据格式转换,用于高度优化的音频重采样、重新矩阵化和样本格式转换操作 | |____libswscale # 视频像素数据格式转换,用于高度优化的图像缩放和色彩空间/像素格式转换操作 | |____libpostproc |____lib # 动态库 | |____libpostproc.55.dylib | |____libswscale.dylib | |____libavutil.56.51.100.dylib | |____libavcodec.58.91.100.dylib | |____libswscale.5.dylib | |____libswresample.3.dylib | |____libavfilter.7.dylib | |____libavformat.58.dylib | |____libavformat.dylib | |____libavutil.dylib | |____libavformat.58.45.100.dylib | |____libavutil.56.dylib | |____libswresample.3.7.100.dylib | |____libavcodec.dylib | |____libavdevice.58.dylib | |____libswresample.dylib | |____libavdevice.dylib | |____libavfilter.7.85.100.dylib | |____libpostproc.dylib | |____libavfilter.dylib | |____libpostproc.55.7.100.dylib | |____libswscale.5.7.100.dylib | |____libavdevice.58.10.100.dylib | |____libavcodec.58.dylib

h、如果安装的 ffmpeg 有问题,卸载命令:

$ cd /Users/mac/Downloads/ffmpeg-4.3.2 $ sudo make uninstall

方式二:Mac 平台也可以选择使用 Homebrew的方式进行安装(源码安装和Homebrew安装二选一):

$ brew install ffmpeg

查看 FFmpeg 是否安装成功:

$ ffmpeg -version

如果可以成功查看版本号,说明安装成功! 如果brew install ffmpeg报错,考虑到可能是镜像原因,请更改镜像:

# 替换brew.git: cd "$(brew --repo)" git remote set-url origin https://mirrors.aliyun.com/homebrew/brew.git # 替换homebrew-core.git: cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core" git remote set-url origin https://mirrors.aliyun.com/homebrew/homebrew-core.git # 应用生效 brew update # 替换homebrew-bottles: echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.aliyun.com/homebrew/homebrew-bottles' >> ~/.bash_profile source ~/.bash_profile

如果误操作也可以恢复默认配置: 首先执行下述命令:

# 重置brew.git: $ cd "$(brew --repo)" $ git remote set-url origin https://github.com/Homebrew/brew.git # 重置homebrew-core.git: $ cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core" $ git remote set-url origin https://github.com/Homebrew/homebrew-core.git

然后删掉 HOMEBREW_BOTTLE_DOMAIN 环境变量,将你终端文件 ~/.bash_profile 或者 ~/.zshrc中HOMEBREW_BOTTLE_DOMAIN 行删掉, 并执行 source ~/.bash_profile或者source ~/.zshrc

三、使用ffmpeg

下载视频,并将m3u8格式转为mp4格式,指令如下:

ffmpeg -i https://youku.com-youku.net/20180620/13336_33db73a9/index.m3u8 fileName.mp4 或者 ffmpeg -i https://youku.com-youku.net/20180620/13336_33db73a9/index.m3u8 -c copy fileName.mp4

下载中。。。由于视频很大,下载需要很长长长时间(1个G的视频可能需下载几小时…)。 可以通过如下指令进行下载提速(下载速度大约能提升到几到十几分钟,很棒了哦,起码比百度云快):

ffmpeg -i https://youku.com-youku.net/20180620/13336_33db73a9/index.m3u8 -c copy -bsf:a aac_adtstoasc fileName.mp4

如果你想用终端工具拉起视频播放,直接通过如下指令就能 播放某链接的视频

ffplay -i https://xxxx

参考链接1、https://www.jianshu.com/p/06d928f509bd 参考链接2、https://developer.aliyun.com/mirror/homebrew 参考链接3、https://zhuanlan.zhihu.com/p/142349349?app=zhihulite



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有